/**
 * 
 */
package baduga.server;

import baduga.core.Core_Exception;
import baduga.server.Game_Cfg;

/**
 * @author Janek
 *
 */
public class Cards {
	
	/** Określa dozwolony kolor karty*/
	private int color;
	
	/** Określa dozwolone figury*/
	private int figure;
	
	/**
	 * Zawiera kodu błędów
	 * 0 - Nie przeszło walidacji figur
	 * 1 - Nie przeszło walidacji kolorów
	 */
	private final int internalErrorCode[] = {};
	
	
	public Cards(int figure, int color) throws Core_Exception {
		if(validateFigure(figure))
		{
			if(!validateColor(color))
				throw new Core_Exception("");
		}
		else
			throw new Core_Exception("");

	};
	
	
	/**
	 * Funkcja sprawdza czy wprowadzona kolor spełnia warunki
	 * 
	 * @param col
	 * @return
	 */
	private boolean validateColor(final int col)
	{
		if(Game_Cfg.CARD_COL_CFG[0] >= col &&  Game_Cfg.CARD_COL_CFG[1] <= col)
			return true;
		else
			return false;
	}
	
	/**
	 * Funkcja sprawdza czy wprowadzona figura spełnia warunki
	 * 
	 * @param fig
	 * @return
	 */
	private boolean validateFigure(final int fig)
	{
		if(Game_Cfg.CARD_FIG_CFG[0] >= fig &&  Game_Cfg.CARD_FIG_CFG[1] <= fig)
			return true;
		else
			return false;
	}
	
	/**
	 * Porównuje karty naszą z inną) [W badudze mniejsza wartość jest większa
	 * \n
	 * obserwujemy this.color
	 * \n
	 *  1 Większa\n
	 *  0 TakaSama\n
	 * -1 Mniejsza\n
	 * 
	 * @param color
	 * @return
	 */
	private int compareTo(final int  color)
	{
		if(this.color > color)
			return -1;
		else if (this.color < color)
			return 1;
		else
			return 0;
		
	}


	
	//------------------ [gets & sets] - #START ------------------
	
	/**
	 * @return the figure
	 */
	public int getFigure() {
		return figure;
	}


	
	/**
	 * @return the color
	 */
	public int getColor() {
		return figure;
	}
	
	
	//------------------ [gets & sets] - #END ------------------



	
	

}
